/*Define Container Organization**/
/**full-container: main structure of homepage. Contains:
header
main body
footer
**/
.full-container {
      display: grid;
      grid-template-columns: 100%;
      /*grid-template-rows: 10% 60% 30%;*/
      justify-items: center;
      grid-gap:10px;
}

/*Header CSS*/
.header {
      grid-row: 1 / 2;
      grid-column: 1 / 2;
      width: 100%;
      align-self: start;
      max-height: 180px;
      background-color: var(--dl-color-scheme-md-red);
      padding-bottom: 10px;
}

.header-container{
      display: grid;
      grid-template-columns: 80% 20%;
      column-gap: 10px;
      background-color: var(--dl-color-scheme-white);
}

/*CSS for Header Logo Image and Link*/
.logo-link{
      width: 100%;
      display: contents;
      grid-column: 1 / 2;
}


.logo {
      grid-column: 1 / 2;
      width:55%;
      margin-left: 5%;
      text-decoration: none;
      align-self: center;
      background-color: var(--dl-color-scheme-white);
      padding-top: var(--dl-space-space-unit);
      padding-bottom: var(--dl-space-space-unit);
}

/*CSS for Hamburger Menu*/
.hamburger-menu{
      grid-column: 2 / 3;
      justify-self: center;
      align-self: center;
}

#toggle {
      opacity: 0;
}

#toggle:checked + .hamburger-btn > span {
      transform: rotate(45deg);
      position: fixed;
}

#toggle:checked + .hamburger-btn > span::before {
      top: 0;
      transform: rotate(0deg);
      position: fixed;
}

#toggle:checked + .hamburger-btn > span::after {
      top: 0;
      transform: rotate(90deg);
      position: fixed;
    }

#toggle:checked ~ .menu-box {
      top: 0 !important;
}

.hamburger-btn {
      position: absolute;
      right: 40px; 
      margin-right: 8%;
      cursor: pointer;
      z-index: 2;
    }


.hamburger-btn > span,
.hamburger-btn > span::before,
.hamburger-btn > span::after {
      display: block;
      position: absolute;
      height: 7px;
      width: 50px;
      background-color: #d51a1a;
      transition-duration: .25s;
}

.hamburger-btn > span::before {
      content: '';
      top: -15px;
    }
.hamburger-btn > span::after {
content: '';
top: 15px;
}

.menu-box {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      position: fixed;
      z-index: 1;
      top: -150%;
      right: 0;
      width: 35%;
      height: 100%;
      margin: 0;
      padding: 80px 0;
      list-style: none;
      background-color: var(--dl-color-scheme-white);
      box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
      transition-duration: .25s;
}

.menu-item {
      display: block;
      padding: 10px 30px;
      color: #333;
      font-size: 25px;
      font-weight: 500;
      text-decoration: none;
      transition-duration: .25s;
}

#header-text{
      color: var(--dl-color-scheme-md-red);
      font-weight: 700;
}

#menu-text{
      font-size: 20px;
}

/*Main Container CSS*/
.main-container {
      display: grid;
      grid-column: 1 / 2;
      grid-row: 2 / 3;
      width: 80%;
}

/**main-container divided further**/
/**
nav-container: continer for navigation buttons
map-container: container for map and sidebar
**/

.nav-container {
      display: grid;
      grid-row: 1 / 2;
      width: 100%;
      grid-template-columns: 20% 20% 20% 20% 20%;
      grid-gap: 5px;
      align-items: center;
}
/*Configuration for Navigation Buttons*/
.nav-button {
      align-self: stretch;
      justify-self: stretch;
      color: var(--dl-color-scheme-md-red);
      width: 100%;
      font-size: 1.0vw;
      margin-top: auto;
      text-align: center;
      transition: 0.3s;
      font-family: "Source Sans Pro";
      font-weight: 700;
      vertical-align: middle;
      padding:3%;
      border-color: var(--dl-color-scheme-md-red);
      border-width: 3px;
      text-decoration: none;
      background-color: var(--dl-color-scheme-white);
}

.nav-button:hover {
      fill: var(--dl-color-scheme-white);
      color: var(--dl-color-scheme-white);
      background-color: var(--dl-color-scheme-md-red);
}

.map-container {
      grid-row: 2 / 3;
      display: grid;
      grid-template-columns: 80% 20%;
      width: 100%;
      align-self: stretch;
      justify-self: center;

}

.slideshow {
      grid-column: 1 / 2;
      width: 100%;
      align-self: start;
      justify-self: center;
}

.projectsvg{
      margin-top: 10px;
      margin-bottom: 10px;
}
.dots {
      visibility: hidden;
      top:-100%;
      right:-100%;
}

.fade {
      animation-name: fade;
      animation-duration: 1.5s;
      }

 
@keyframes fade {
      from {opacity: .3}
      to {opacity: 1}
      }

.svgClick {
      fill: transparent;
      stroke: transparent;
      stroke-width: 10;
      /* cursor: pointer; */
      }
      
/*.svgClick:hover {
      stroke: black;
      }
*/
#tooltip {
      position: absolute;
      background-color: rgba(0, 0, 0, 0.7);
      color: #fff;
      padding: 5px;
      border-radius: 5px;
      display: none;
      z-index: 10;
      pointer-events: none;
      }
      
.dot-tooltip {
      position: absolute;
      background-color: rgba(0, 0, 0, 0.7);
      color: #fff;
      padding: 5px;
      border-radius: 5px;
      display: none;
      z-index: 10;
      pointer-events: none;
      left: 45%;
      }



.sidebar {
      grid-column: 2 / 3;
      width: 100%;
      align-self: start;
      justify-self: center;
      padding: 5px;
      margin-top: 10%; 
      box-sizing: border-box; 
      background-color: rgb(168, 25, 44);
      border-radius: 15px;
      font-family: "Source Sans Pro";
      color: white;
}

.sidebar p {
      color: white;
      margin-bottom: 10px;
      font-size: 18px;
      width:100%;
      }

.sidebar button {
      width:100%;
      font-size: 1.2vw;
      align-items: center;
      background-color: rgb(168, 25, 44);
      border: none;
      color: white;
      padding: 5px;
      margin-bottom: 10px;
      text-align: left;
      border-radius: 8px;
      cursor: pointer;
}

      /* hover effect on sidebar buttons */
.sidebar button:hover {
      background-color: #555;
      }


.icon {
      float: left;
      width: 50px;
      height: 50px;
      max-width: 20px;
      height: auto;
      margin-right: 10px;
      clear: left;
      display: block;
}

.temp {
      max-width: 10px;
      height: auto;
}

.dew {
      max-width: 15px;
      height: auto;
}

/*Footer Container CSS*/      
.footer {
      grid-column: 1 / 2;
      grid-row: 3 / 4;
      width: 100%;
}

.partner-container {
      width: 100%;
      grid-row: 3 / 4;
}

/*Common Span of MD Red used in footer*/
.red-span {
      width: 100%;
      justify-content: center;
      color: var(--dl-color-scheme-white);
      padding-top: 30px;
      margin-bottom: var(--dl-space-space-oneunits);
      padding-bottom: var(--dl-space-space-unit);
      background-color: var(--dl-color-scheme-md-red);
}

/*AOSC Logo and link*/
.aosc-logo {
      width: 100%;
      object-fit: cover;
}

.aosc-link {
      left: 18%;
      width: 35%;
      height: 20%;
      position: absolute;
      text-decoration: none;
      background-color: transparent;
}
/*Maryland Emergency Management Link and Logo*/
.mdem-link {
      right: 18%;
      width: 20%;
      height: 20%;
      position: absolute;
      text-decoration: none;
      background-color: transparent;
}

.partner-container {
      background-color: var(--dl-color-scheme-md-red);
}

.footer-container{
      display: grid;
      width: 50%;
      grid-gap:20px;
      margin:auto;
      padding: 20px;
}

.footer-left{
      grid-column: 1 / 2;
}
.footer-right{
      grid-column: 2 / 3;
}

.footer-link{
      text-decoration: underline;
      color: var(--dl-color-scheme-darkblue);
      font-size: 16px;
      max-width: 450px;
      font-family: "Source Sans Pro";
      font-weight: 400;
      margin-bottom: 60px;
      text-transform: none;
}

.footer-text, footer-link{
      color: var(--dl-color-scheme-darkblue);
      font-size: 16px;
      max-width: 450px;
      font-family: "Source Sans Pro";
      font-weight: 400;
      margin-bottom: 60px;
      text-transform: none;
      text-decoration: none;
    }
.bold{
     font-weight: 700; 
}

.footer-image {
      width: 100%;
      height: auto;
      max-width: 400px;
      align-self: center;
    }

.footer-space{
      display: none;
      padding: 10px;

    }

/* Configuration for Mobile view*/
@media (max-width : 1000px) {
      .sidebar {
            grid-column: 1 / 2;
            grid-row: 2 / 3;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            margin-top: 0%;
      }
      .sidebar button{
            width: 50%;
            font-size: 2.0vh;
      }
      .map-container {
            grid-template-columns: 100%;
      }
      .slideshow {
            grid-column: 1 / 2 ;
            grid-row: 1 / 2;
            margin-bottom:-5px;
            width:100%;
            height: 100%;
      }
      /*.svgClick {stroke: black;}
      .svgClick:hover {stroke: none;}*/
      .footer-left {grid-row: 1 / 2;}
      .footer-right {grid-row: 2 / 3;}
      .footer-container {
            grid-template-rows: 50% 50%;
            display: block;
            width: 80%;
      }
      .nav-container {display: none;}
      .footer-space {display: block;}
      .nav-mobile {display: block;}
      .menu-box{
            width: 100%;
      }
      .logo{
            width: 80%;
      }
}